/*
 * Copyright 2008-2012 Centro Andaluz de Innovación y Tecnologías de la
 * Información y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnológico de Andalucía 29590 - Campanillas, Málaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.youtube.model;

/**
 * class that represents a YouTube user
 * 
 * 
 */
public class YouTubeUser {

	/**
	 * Enum class that represents the user status. Values: 'OPEN', 'SINGLE' and TAKEN'
	 */
	public static enum Status {OPEN, SINGLE, TAKEN};

	/**
	 * Enum class that represents the user gender.Values: 'FEMALE' and 'MALE'
	 */
	public static enum Gender {FEMALE, MALE};

	/**
	 * user description
	 */
	private String description;
	/**
	 * user name
	 */
	private String name;
	/**
	 * user lastName
	 */
	private String lastName;
	/**
	 * user company
	 */
	private String company;
	/**
	 * user fotoLink
	 */
	private String fotoLink;
	/**
	 * music that the user likes
	 */
	private String music;
	/**
	 * movies that the user likes
	 */
	private String movies;
	/**
	 * user occupation
	 */
	private String occupation;
	/**
	 * user hobbies
	 */
	private String hobbies;
	/**
	 * user home
	 */
	private String home;
	/**
	 * user age
	 */
	private Integer age;
	/**
	 * user gender
	 */
	private YouTubeUser.Gender gender;
	/**
	 * user status
	 */
	private YouTubeUser.Status status;
	/**
	 * YouTube account username
	 */
	private String userName;
	/**
	 * YouTube account password encrypted by MD5
	 */
	private String password;
	/**
	 * user Id for the PUEDeS platform
	 */
	private Integer userId;
	/**
	 * YouTube user Id in the BBDD
	 */
	private Integer youTubeId;

	/**
	 * empty constructor. Creates a new user.
	 */
	public YouTubeUser() {

		description = null;
		name = null;
		lastName = null;
		userName = null;
		company = null;
		fotoLink = null;
		music = null;
		movies = null;
		occupation = null;
		hobbies = null;
		home = null;
		age = 0;
		gender = null;
		status = null;
		password = null;
		youTubeId = 0;
		userId = 0;
	}

	/**
	 * @return the password
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * @param password
	 *            the password to set
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * @return the userId
	 */
	public Integer getUserId() {
		return userId;
	}

	/**
	 * @param userId
	 *            the userId to set
	 */
	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	/**
	 * @return the youTubeId
	 */
	public Integer getYouTubeId() {
		return youTubeId;
	}

	/**
	 * @param youTubeId
	 *            the youTubeId to set
	 */
	public void setYouTubeId(Integer youTubeId) {
		this.youTubeId = youTubeId;
	}

	/**
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description
	 *            the description to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 *            the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the lastName
	 */
	public String getLastName() {
		return lastName;
	}

	/**
	 * @param lastName
	 *            the lastName to set
	 */
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	/**
	 * @return the userName
	 */
	public String getUserName() {
		return userName;
	}

	/**
	 * @param userName
	 *            the userName to set
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @return the company
	 */
	public String getCompany() {
		return company;
	}

	/**
	 * @param company
	 *            the company to set
	 */
	public void setCompany(String company) {
		this.company = company;
	}

	/**
	 * @return the fotoLink
	 */
	public String getFotoLink() {
		return fotoLink;
	}

	/**
	 * @param fotoLink
	 *            the fotoLink to set
	 */
	public void setFotoLink(String fotoLink) {
		this.fotoLink = fotoLink;
	}

	/**
	 * @return the music
	 */
	public String getMusic() {
		return music;
	}

	/**
	 * @param music
	 *            the music to set
	 */
	public void setMusic(String music) {
		this.music = music;
	}

	/**
	 * @return the movies
	 */
	public String getMovies() {
		return movies;
	}

	/**
	 * @param movies
	 *            the movies to set
	 */
	public void setMovies(String movies) {
		this.movies = movies;
	}

	/**
	 * @return the occupation
	 */
	public String getOccupation() {
		return occupation;
	}

	/**
	 * @param occupation
	 *            the occupation to set
	 */
	public void setOccupation(String occupation) {
		this.occupation = occupation;
	}

	/**
	 * @return the hobbies
	 */
	public String getHobbies() {
		return hobbies;
	}

	/**
	 * @param hobbies
	 *            the hobbies to set
	 */
	public void setHobbies(String hobbies) {
		this.hobbies = hobbies;
	}

	/**
	 * @return the home
	 */
	public String getHome() {
		return home;
	}

	/**
	 * @param home
	 *            the home to set
	 */
	public void setHome(String home) {
		this.home = home;
	}

	/**
	 * @return the age
	 */
	public Integer getAge() {
		return age;
	}

	/**
	 * @param age
	 *            the age to set
	 */
	public void setAge(Integer age) {
		this.age = age;
	}

	/**
	 * @return the gender
	 */
	public YouTubeUser.Gender getGender() {
		return gender;
	}

	/**
	 * @param gender
	 *            the gender to set
	 */
	public void setGender(YouTubeUser.Gender gender) {
		this.gender = gender;
	}

	/**
	 * @return the status
	 */
	public YouTubeUser.Status getStatus() {
		return status;
	}

	/**
	 * @param status
	 *            the status to set
	 */
	public void setStatus(YouTubeUser.Status status) {
		this.status = status;
	}

}
